import _ from 'lodash'
import { SET_READ_STATE, DEL_MSG } from './actionTypes'
/* 初始化默认仓库 */
let defaultState = {
  /* 消息数据 */
  msgLists: [
    {
      /* 内容 */
      content: '内容1',
      /* 是否已读 */
      hasRead: false
    },
    {
      content: '内容2',
      hasRead: true
    },
    {
      content: '内容3',
      hasRead: false
    },
    {
      content: '内容4',
      hasRead: false
    }
  ]
}
// 取缓存 赋值 给 state 是否首次刷新
const userStore = 
    localStorage.getItem('user')
    ?
    JSON.parse(localStorage.getItem('user'))
    : 
    null;
if(userStore) {
  defaultState = userStore;
}
const reducer = (state = defaultState, action) => {
  /* 深克隆仓库 */
  let newState = _.cloneDeep(state);
  /* 调用已读 */
  switch (action.type) {
    case SET_READ_STATE:
      /* 给state中的hsaRead设置为true */
      newState.msgLists[action.index].hasRead = true;
      break;
      /* 调用删除 */
    case DEL_MSG:
      /* 删除state中msgLists数据数组中的数据 */
      newState.msgLists.splice(action.index,1)
      break;
    default:
      break;
  }

  // 更新一下缓存即可
  localStorage.setItem('user', JSON.stringify(newState))
  /* 返回新的仓库 */
  return newState
}
export default reducer